package com.linkhub.oms.common.enums.logistic;

import com.google.common.collect.Lists;
import com.linkhub.oms.common.enums.IEnumConvert;
import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.List;

/**
 * @Description: LogisticAttributeLimitEnum
 * @Author: echo
 * @Date: 2024/6/4 20:57
 * @Version: 1.0
 */
@Getter
@AllArgsConstructor
public enum LogisticAttributeLimitEnum implements IEnumConvert<String> {


    BKZXR_US("BKZXR_US", Lists.newArrayList(9, 11, 14)),
    BKZXR_CA("BKZXR_CA", Lists.newArrayList(9, 11, 14)),
    BKZXR_DE("BKZXR_DE", Lists.newArrayList(9, 11, 14, 16)),
    BKZXR_GB("BKZXR_GB", Lists.newArrayList(9, 14)),
    BKZXR_FR("BKZXR_FR", Lists.newArrayList(9, 11, 14, 16)),
    BKZXR_IT("BKZXR_IT", Lists.newArrayList(9, 11, 14, 16)),
    BKZXR_ES("BKZXR_ES", Lists.newArrayList(9, 11, 14, 16)),
    BKZXR_AU("BKZXR_AU", Lists.newArrayList(9, 11, 14)),
    BKZXR_PL("BKZXR_PL", Lists.newArrayList(9, 11, 14, 16)),
    BKZXR_AT("BKZXR_AT", Lists.newArrayList(9, 11, 14, 16)),
    BKPHR_US("BKPHR_US", Lists.newArrayList(14)),
    BKPHR_CA("BKPHR_CA", Lists.newArrayList(14)),
    BKPHR_DE("BKPHR_DE", Lists.newArrayList(14, 16)),
    BKPHR_GB("BKPHR_GB", Lists.newArrayList(14)),
    BKPHR_FR("BKPHR_FR", Lists.newArrayList(14, 16)),
    BKPHR_IT("BKPHR_IT", Lists.newArrayList(14, 16)),
    BKPHR_ES("BKPHR_ES", Lists.newArrayList(14, 16)),
    BKPHR_AU("BKPHR_AU", Lists.newArrayList(14, 16)),
    BKPHR_PL("BKPHR_PL", Lists.newArrayList(14, 16)),
    BKPHR_AT("BKPHR_AT", Lists.newArrayList(14, 16)),
    USBZPHR_US("USBZPHR_US", Lists.newArrayList(14, 17)),
    THZXR_US("THZXR_US", Lists.newArrayList(9, 11, 12)),
    THZXR_GB("THZXR_GB", Lists.newArrayList(9, 12)),
    THZXR_FR("THZXR_FR", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_DE("THZXR_DE", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_IT("THZXR_IT", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_ES("THZXR_ES", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_NL("THZXR_NL", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_BE("THZXR_BE", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_LU("THZXR_LU", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_IE("THZXR_IE", Lists.newArrayList(9, 12, 16)),
    THZXR_BG("THZXR_BG", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_HR("THZXR_HR", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_CZ("THZXR_CZ", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_EE("THZXR_EE", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_FI("THZXR_FI", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_HU("THZXR_HU", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_LV("THZXR_LV", Lists.newArrayList(9, 12, 16)),
    THZXR_LT("THZXR_LT", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_MT("THZXR_MT", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_PL("THZXR_PL", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_PT("THZXR_PT", Lists.newArrayList(9, 12, 16)),
    THZXR_RO("THZXR_RO", Lists.newArrayList(9, 12, 16)),
    THZXR_SK("THZXR_SK", Lists.newArrayList(9, 12, 16)),
    THZXR_SI("THZXR_SI", Lists.newArrayList(9, 12, 16)),
    THZXR_SE("THZXR_SE", Lists.newArrayList(9, 12, 16)),
    THZXR_AT("THZXR_AT", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_DK("THZXR_DK", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_ZA("THZXR_ZA", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_BR("THZXR_BR", Lists.newArrayList(9, 12, 16)),
    THZXR_CA("THZXR_CA", Lists.newArrayList(9, 12)),
    THZXR_GR("THZXR_GR", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_CH("THZXR_CH", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_NO("THZXR_NO", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_MX("THZXR_MX", Lists.newArrayList(9, 12)),
    THZXR_SG("THZXR_SG", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_MY("THZXR_MY", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_TH("THZXR_TH", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_VN("THZXR_VN", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_PH("THZXR_PH", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_CL("THZXR_CL", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_CO("THZXR_CO", Lists.newArrayList(9, 11, 12, 16)),
    THZXR_IL("THZXR_IL", Lists.newArrayList(9, 12, 16)),
    THZXR_CY("THZXR_CY", Lists.newArrayList(9, 12, 16)),
    THZXR_TR("THZXR_TR", Lists.newArrayList(9, 12, 16)),
    THZXR_KR("THZXR_KR", Lists.newArrayList(9, 12, 16)),
    THZXR_NZ("THZXR_NZ", Lists.newArrayList(9, 12)),
    THZXR_PK("THZXR_PK", Lists.newArrayList(9, 12, 16)),
    THZXR_NG("THZXR_NG", Lists.newArrayList(9, 12, 16)),
    THZXR_GH("THZXR_GH", Lists.newArrayList(9, 12, 16)),
    THZXR_UG("THZXR_UG", Lists.newArrayList(9, 12, 16)),
    THZXR_KE("THZXR_KE", Lists.newArrayList(9, 12, 16)),
    THZXR_TZ("THZXR_TZ", Lists.newArrayList(9, 12, 16)),
    THZXR_RW("THZXR_RW", Lists.newArrayList(9, 12, 16)),
    THZXR_AO("THZXR_AO", Lists.newArrayList(9, 12, 16)),
    THZXR_EG("THZXR_EG", Lists.newArrayList(9, 12, 16)),
    THZXR_AE("THZXR_AE", Lists.newArrayList(9, 12, 16)),
    THZXR_SA("THZXR_SA", Lists.newArrayList(9, 12, 16)),
    THZXR_KW("THZXR_KW", Lists.newArrayList(9, 12, 16)),
    THZXR_QA("THZXR_QA", Lists.newArrayList(9, 12, 16)),
    THZXR_BH("THZXR_BH", Lists.newArrayList(9, 12, 16)),
    THZXR_JO("THZXR_JO", Lists.newArrayList(9, 12, 16)),
    THZXR_LB("THZXR_LB", Lists.newArrayList(9, 12, 16)),
    THZXR_AU("THZXR_AU", Lists.newArrayList(9, 12)),
    THZXR_JP("THZXR_JP", Lists.newArrayList(9, 11, 12, 16)),
    THPHR_US("THPHR_US", Lists.newArrayList(11, 12, 17)),
    THPHR_GB("THPHR_GB", Lists.newArrayList(12, 17)),
    THPHR_FR("THPHR_FR", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_DE("THPHR_DE", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_IT("THPHR_IT", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_ES("THPHR_ES", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_NL("THPHR_NL", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_BE("THPHR_BE", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_LU("THPHR_LU", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_IE("THPHR_IE", Lists.newArrayList(12, 16, 17)),
    THPHR_BG("THPHR_BG", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_HR("THPHR_HR", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_CZ("THPHR_CZ", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_EE("THPHR_EE", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_FI("THPHR_FI", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_HU("THPHR_HU", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_LV("THPHR_LV", Lists.newArrayList(12, 16, 17)),
    THPHR_LT("THPHR_LT", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_MT("THPHR_MT", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_PL("THPHR_PL", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_PT("THPHR_PT", Lists.newArrayList(12, 16, 17)),
    THPHR_RO("THPHR_RO", Lists.newArrayList(12, 16, 17)),
    THPHR_SK("THPHR_SK", Lists.newArrayList(12, 16, 17)),
    THPHR_SI("THPHR_SI", Lists.newArrayList(12, 16, 17)),
    THPHR_SE("THPHR_SE", Lists.newArrayList(12, 16, 17)),
    THPHR_AT("THPHR_AT", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_DK("THPHR_DK", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_ZA("THPHR_ZA", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_BR("THPHR_BR", Lists.newArrayList(12, 16, 17)),
    THPHR_CA("THPHR_CA", Lists.newArrayList(12, 17)),
    THPHR_GR("THPHR_GR", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_CH("THPHR_CH", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_NO("THPHR_NO", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_MX("THPHR_MX", Lists.newArrayList(12, 17)),
    THPHR_SG("THPHR_SG", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_MY("THPHR_MY", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_TH("THPHR_TH", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_VN("THPHR_VN", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_PH("THPHR_PH", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_CL("THPHR_CL", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_CO("THPHR_CO", Lists.newArrayList(11, 12, 16, 17)),
    THPHR_IL("THPHR_IL", Lists.newArrayList(12, 16, 17)),
    THPHR_CY("THPHR_CY", Lists.newArrayList(12, 16, 17)),
    THPHR_TR("THPHR_TR", Lists.newArrayList(12, 16, 17)),
    THPHR_KR("THPHR_KR", Lists.newArrayList(12, 16, 17)),
    THPHR_NZ("THPHR_NZ", Lists.newArrayList(12, 17)),
    THPHR_PK("THPHR_PK", Lists.newArrayList(12, 16, 17)),
    THPHR_NG("THPHR_NG", Lists.newArrayList(12, 16, 17)),
    THPHR_GH("THPHR_GH", Lists.newArrayList(12, 16, 17)),
    THPHR_UG("THPHR_UG", Lists.newArrayList(12, 16, 17)),
    THPHR_KE("THPHR_KE", Lists.newArrayList(12, 16, 17)),
    THPHR_TZ("THPHR_TZ", Lists.newArrayList(12, 16, 17)),
    THPHR_RW("THPHR_RW", Lists.newArrayList(12, 16, 17)),
    THPHR_AO("THPHR_AO", Lists.newArrayList(12, 16, 17)),
    THPHR_EG("THPHR_EG", Lists.newArrayList(12, 16, 17)),
    THPHR_AE("THPHR_AE", Lists.newArrayList(12, 16, 17)),
    THPHR_SA("THPHR_SA", Lists.newArrayList(12, 16, 17)),
    THPHR_KW("THPHR_KW", Lists.newArrayList(12, 16, 17)),
    THPHR_QA("THPHR_QA", Lists.newArrayList(12, 16, 17)),
    THPHR_BH("THPHR_BH", Lists.newArrayList(12, 16, 17)),
    THPHR_JO("THPHR_JO", Lists.newArrayList(12, 16, 17)),
    THPHR_LB("THPHR_LB", Lists.newArrayList(12, 16, 17)),
    THPHR_AU("THPHR_AU", Lists.newArrayList(12, 17)),
    THPHR_JP("THPHR_JP", Lists.newArrayList(11, 12, 16, 17)),
    MUZXR_US("MUZXR_US", Lists.newArrayList(12, 7)),
    MUZXR_GB("MUZXR_GB", Lists.newArrayList(12, 7)),
    MUZXR_FR("MUZXR_FR", Lists.newArrayList(12, 7)),
    MUZXR_DE("MUZXR_DE", Lists.newArrayList(12, 7)),
    MUZXR_IT("MUZXR_IT", Lists.newArrayList(12, 7)),
    MUZXR_ES("MUZXR_ES", Lists.newArrayList(12, 7)),
    MUZXR_NL("MUZXR_NL", Lists.newArrayList(12, 7)),
    MUZXR_BE("MUZXR_BE", Lists.newArrayList(12, 7)),
    MUZXR_LU("MUZXR_LU", Lists.newArrayList(12, 7)),
    MUZXR_IE("MUZXR_IE", Lists.newArrayList(12, 7)),
    MUZXR_BG("MUZXR_BG", Lists.newArrayList(12, 7)),
    MUZXR_HR("MUZXR_HR", Lists.newArrayList(12, 7)),
    MUZXR_CZ("MUZXR_CZ", Lists.newArrayList(12, 7)),
    MUZXR_EE("MUZXR_EE", Lists.newArrayList(12, 7)),
    MUZXR_FI("MUZXR_FI", Lists.newArrayList(12, 7)),
    MUZXR_HU("MUZXR_HU", Lists.newArrayList(12, 7)),
    MUZXR_LV("MUZXR_LV", Lists.newArrayList(12, 7)),
    MUZXR_LT("MUZXR_LT", Lists.newArrayList(12, 7)),
    MUZXR_PL("MUZXR_PL", Lists.newArrayList(12, 7)),
    MUZXR_PT("MUZXR_PT", Lists.newArrayList(12, 7)),
    MUZXR_RO("MUZXR_RO", Lists.newArrayList(12, 7)),
    MUZXR_SK("MUZXR_SK", Lists.newArrayList(12, 7)),
    MUZXR_SI("MUZXR_SI", Lists.newArrayList(12, 7)),
    MUZXR_SE("MUZXR_SE", Lists.newArrayList(12, 7)),
    MUZXR_AT("MUZXR_AT", Lists.newArrayList(12, 7)),
    MUZXR_DK("MUZXR_DK", Lists.newArrayList(12, 7)),
    MUZXR_GR("MUZXR_GR", Lists.newArrayList(12, 7)),
    MUZXR_CA("MUZXR_CA", Lists.newArrayList(12, 7)),
    MUZXR_NO("MUZXR_NO", Lists.newArrayList(12, 7)),
    MUZXR_IL("MUZXR_IL", Lists.newArrayList(12, 7)),
    MUZXR_NZ("MUZXR_NZ", Lists.newArrayList(12, 7)),
    MUZXR_AE("MUZXR_AE", Lists.newArrayList(12, 7)),
    MUZXR_TH("MUZXR_TH", Lists.newArrayList(12, 7)),
    MUZXR_JP("MUZXR_JP", Lists.newArrayList(12, 7)),
    MUZXR_AU("MUZXR_AU", Lists.newArrayList(12, 7)),
    ZDZXR_AE("ZDZXR_AE", Lists.newArrayList(9, 12)),
    ZDZXR_SA("ZDZXR_SA", Lists.newArrayList(9, 12)),
    ZDZXR_KW("ZDZXR_KW", Lists.newArrayList(9, 12)),
    ZDZXR_QA("ZDZXR_QA", Lists.newArrayList(9, 12)),
    ZDZXR_BH("ZDZXR_BH", Lists.newArrayList(9, 12)),
    ZDZXR_JO("ZDZXR_JO", Lists.newArrayList(9, 12)),
    ZDZXR_LB("ZDZXR_LB", Lists.newArrayList(9, 12)),
    FZZXR_US("FZZXR_US", Lists.newArrayList(12, 17)),
    FZZXR_GB("FZZXR_GB", Lists.newArrayList(12, 17)),
    FZZXR_FR("FZZXR_FR", Lists.newArrayList(12, 17)),
    FZZXR_DE("FZZXR_DE", Lists.newArrayList(12, 17)),
    FZZXR_IT("FZZXR_IT", Lists.newArrayList(12, 17)),
    FZZXR_ES("FZZXR_ES", Lists.newArrayList(12, 17)),
    FZZXR_AT("FZZXR_AT", Lists.newArrayList(12, 17)),
    FZZXR_AE("FZZXR_AE", Lists.newArrayList(12, 17)),
    FZZXR_SA("FZZXR_SA", Lists.newArrayList(12, 17)),
    FZZXR_KW("FZZXR_KW", Lists.newArrayList(12, 17)),
    FZZXR_QA("FZZXR_QA", Lists.newArrayList(12, 17)),
    FZZXR_BH("FZZXR_BH", Lists.newArrayList(12, 17)),
    FZZXR_JO("FZZXR_JO", Lists.newArrayList(12, 17)),
    FZZXR_LB("FZZXR_LB", Lists.newArrayList(12, 17)),
    FZZXR_JP("FZZXR_JP", Lists.newArrayList(12, 17)),
    FZZXR_AU("FZZXR_AU", Lists.newArrayList(12, 17)),
    CALPR_CA("CALPR_CA", Lists.newArrayList(12)),
    JPMPH_JP("JPMPH_JP", Lists.newArrayList(12, 17)),


    ;

    private final String type;
    private final List<Integer> codes;

    @Override
    public String getCode() {
        return this.getType();
    }

}
